﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using BE.SearchCriteria;
using BLL;
using BE;

namespace VentaPorCatalogos.Cubos
{
    public partial class Devoluciones : VentaPorCatalogos.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void btnSelCampaña_Click(object sender, ImageClickEventArgs e)
        {
            int wCount = 0;

            if (txtCampaña.Text.Trim().Length > 0)
            {
                CampañaSC wFiltroSC = new CampañaSC();
                wFiltroSC.Descripcion = txtCampaña.Text;
                List<CampañaBE> wListResultado = CampañaBLL.SeleccionarPorParametros(wFiltroSC, 0, null, ref wCount);
                if (wListResultado != null && wListResultado.Count > 0)
                {
                    if (wListResultado.Count == 1)
                    {
                        hidIdCampaña.Value = wListResultado[0].IdCampaña.ToString();
                        txtCampaña.Text = wListResultado[0].Descripcion;
                    }
                    else
                        EjecutarScript(string.Format("SeleccionarCampaña(\"{0}\");", txtCampaña.Text));
                }
                else
                {
                    txtCampaña.Text = string.Empty;
                    EjecutarScript("alert(\"Sin resultados para el filtro especificado.\");");
                }
            }
            else
            {
                EjecutarScript(string.Format("SeleccionarCampaña(\"{0}\");", txtCampaña.Text));
            }

        }

        protected void btnSelZona_Click(object sender, ImageClickEventArgs e)
        {
            int wCount = 0;

            if (txtZona.Text.Trim().Length > 0)
            {
                ZonaSC wFiltroSC = new ZonaSC();
                wFiltroSC.Descripcion = txtZona.Text;
                List<ZonasBE> wListResultado = ZonaBLL.SeleccionarTodos(wFiltroSC, 0, null, ref wCount);
                if (wListResultado != null && wListResultado.Count > 0)
                {
                    if (wListResultado.Count == 1)
                    {
                        hidIdZona.Value = wListResultado[0].IdZona.ToString();
                        txtZona.Text = wListResultado[0].Descripcion;
                    }
                    else
                        EjecutarScript(string.Format("SeleccionarZona(\"{0}\");", txtZona.Text));
                }
                else
                {
                    txtZona.Text = string.Empty;
                    EjecutarScript("alert(\"Sin resultados para el filtro especificado.\");");
                }
            }
            else
            {
                EjecutarScript(string.Format("SeleccionarZona(\"{0}\");", txtZona.Text));
            }
        }

        protected void btnSelRubro_Click(object sender, ImageClickEventArgs e)
        {
            int wCount = 0;

            if (txtRubro.Text.Trim().Length > 0)
            {
                RubroSC wFiltroSC = new RubroSC();
                wFiltroSC.Descripcion = txtRubro.Text;
                List<RubroBE> wListResultado = RubroBLL.SeleccionarTodos(wFiltroSC, 0, null, ref wCount);
                if (wListResultado != null && wListResultado.Count > 0)
                {
                    if (wListResultado.Count == 1)
                    {
                        hidIdRubro.Value = wListResultado[0].IdRubro.ToString();
                        txtRubro.Text = wListResultado[0].Descripcion;
                    }
                    else
                        EjecutarScript(string.Format("SeleccionarRubro(\"{0}\");", txtRubro.Text));
                }
                else
                {
                    txtRubro.Text = string.Empty;
                    EjecutarScript("alert(\"Sin resultados para el filtro especificado.\");");
                }
            }
            else
            {
                EjecutarScript(string.Format("SeleccionarRubro(\"{0}\");", txtRubro.Text));
            }


        }

        protected void btnDescargar_Click(object sender, EventArgs e)
        {
            CuboDevolucionesSC oCuboDevolucionesSC = new CuboDevolucionesSC();
            Int32 wIdCampaña;
            Int32 wIdZona;
            Int32 wIdRubro;
            if (Int32.TryParse(hidIdCampaña.Value, out wIdCampaña))
                oCuboDevolucionesSC.IdCampaña = wIdCampaña;
            if (Int32.TryParse(hidIdZona.Value, out wIdZona))
                oCuboDevolucionesSC.IdZona = wIdZona;
            if (Int32.TryParse(hidIdRubro.Value, out wIdRubro))
                oCuboDevolucionesSC.IdRubro = wIdRubro;

            // FILTRADO DEL CUBO Y GENERACION DE ARCHIVO
            string wExcelCubePath = EstadisticasBLL.GenerarCuboDevoluciones(oCuboDevolucionesSC);

            Response.Redirect("~/Cubos/DescargarCubo.aspx?File=" + wExcelCubePath, true);
        }

        protected void btnLimpiarFiltros_Click(object sender, EventArgs e)
        {
            hidIdCampaña.Value = string.Empty;
            hidIdRubro.Value = string.Empty;
            hidIdZona.Value = string.Empty;

            txtCampaña.Text = string.Empty;
            txtRubro.Text = string.Empty;
            txtZona.Text = string.Empty; 
        }


    }
}